package de.jmda.gen.java;

import java.util.List;

import javax.lang.model.element.Element;

import de.jmda.gen.CompoundGenerator;

/**
 * {@link #getParameterGenerators()} provides a list of {@link
 * ParametersGenerator}s. Each of those generators is expected to
 * produce a parameter. Together they are expected to produce the
 * complete set of parameters for an {@link Element}.
 *
 * @author roger.jmda@gmail.com
 */
public interface ParametersGenerator
		extends CompoundGenerator
{
	/**
	 * @return parameter generators that produce complete set of parameters for
	 *         an {@link Element} (see {@link ParametersGenerator})
	 */
	List<ParameterGenerator> getParameterGenerators();
}